#include "mainwindow.h"

#include "QPainter"
#include "QPen"
#include "math.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
  this->setGeometry(500, 300, 600, 300);
}

MainWindow::~MainWindow() {}

void MainWindow::paintEvent(QPaintEvent *e) {
  // 画家类
  QPainter painter(this);

  // 画笔
  QPen pen;
  pen.setWidth(2);
  pen.setColor(Qt::black);
  pen.setStyle(Qt::SolidLine);

  // 设置画笔
  painter.setPen(pen);

  // 画两条直线构成坐标系
  painter.drawLine(QPointF(100, 0), QPointF(100, 300));
  painter.drawLine(QPointF(0, 150), QPointF(600, 150));

  // sin 正弦线颜色
  pen.setWidth(1);
  pen.setColor(Qt::red);
  pen.setStyle(Qt::SolidLine);

  // 设置画笔
  painter.setPen(pen);

  // 转换坐标原点
  painter.translate(100, 150);

  // 画一个 2 PI 的范围，开始造点
  QPointF array[360];

  for (int i = 0; i < 360; i++) {
    array[i] = QPointF(i, -sin(3.14 / 180 * i) * 70);
  }
  painter.drawPolyline(array, 360);
}
